/*
    Kelompok    2
    Kelas       2
    Anggota :
    1. Yudha Wastu Prawira      / 13509002
    2. Robertus Theodore        / 13509008
    3. Rendy Bambang Junior     / 13509036
    4. Hartono Sulaiman Wijaya  / 13509046
    5. Daniel Prihartoni        / 13509088
    6. Raydhitya Yosep          / 13509092

*/

#ifndef _PLANT_H
#define _PLANT_H

#include "Resource.h"
#include <iostream>
using namespace std;
#include <string>

class Plant {
	public :
		//ctor dtor
		Plant();
		Plant(PlantType);
		~Plant();

		//get & set
		//naikan happy mater setiap disiram
		void incHappyMeter();
		//reset happy meter kalo dipanen
		void resetHappyMeter();
		//naikan harvest point setiap harvest supaya jadi lebih lama panennya
		void incHarvestPoint();
		//kurangi umur tiap hari
		void decAgeLeft();

		//getter
		//get tipe panen
		HarvestType getHarvestType();
		//get tipe tanaman
		PlantType getPlantType();
		//get nama tanaman
		string getName();
		//get happy meter tanaman
		int getHappyMeter();
		//get umur tersisa
		int getAgeLeft();
		//get titik panen
		int getHarvestPoint();
		//get posisi tanaman (unused)
		//Point getPosition()
		//true bila udah adult
		bool isAdult();
		void initialize(PlantElem);

	private :
		string name;
		PlantType plantType;
		int	happyMeter;
		int	adultPoint;
		int	harvestPoint;
		int ageLeft;
		HarvestType	harvestType; //HARVEST_ONCE/REPETITIOUS_HARVEST
		//Point position; //unused
};

#endif
